package com.ruoyi.system.domain.estate;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.ibatis.type.Alias;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 维修信息对象 t_repair
 * 
 * @author ruoyi
 */
@Alias("EstateRepair")
public class Repair extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 维修ID */
    private Long repairId;

    /** 维修编号 */
    @Excel(name = "维修编号")
    private String repairCode;

    /** 报修人ID */
    @Excel(name = "报修人ID")
    private Long residentId;

    /** 报修人姓名 */
    @Excel(name = "报修人姓名")
    private String residentName;

    /** 报修房屋ID */
    private Long houseId;

    /** 报修房屋编号 */
    @Excel(name = "报修房屋")
    private String houseCode;

    /** 公共区域 */
    @Excel(name = "公共区域")
    private String publicArea;

    /** 详细地址 */
    private String detailAddress;

    /** 维修类型（0水电 1门窗 2墙面 3地面 4设备 5其他） */
    @Excel(name = "维修类型", readConverterExp = "0=水电,1=门窗,2=墙面,3=地面,4=设备,5=其他")
    private String repairType;

    /** 维修类型名称 */
    private String repairTypeName;

    /** 维修标题 */
    @Excel(name = "维修标题")
    private String repairTitle;

    /** 维修内容 */
    @Excel(name = "维修内容")
    private String repairContent;

    /** 联系电话 */
    private String contactPhone;

    /** 报修图片 */
    private String repairImages;

    /** 报修时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报修时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date repairTime;

    /** 维修状态（0待处理 1已派单 2维修中 3已完成 4已评价） */
    @Excel(name = "维修状态", readConverterExp = "0=待处理,1=已派单,2=维修中,3=已完成,4=已评价")
    private String repairStatus;

    /** 维修状态名称 */
    private String repairStatusName;

    /** 紧急程度（0紧急 1普通） */
    @Excel(name = "紧急程度", readConverterExp = "0=紧急,1=普通")
    private String repairLevel;

    /** 预计上门时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预计上门时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date expectedTime;

    /** 维修人员ID */
    private Long handlerId;

    /** 维修人员姓名 */
    @Excel(name = "维修人员")
    private String handlerName;

    /** 处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date handleTime;

    /** 维修结果 */
    @Excel(name = "维修结果")
    private String repairResult;

    /** 维修费用 */
    @Excel(name = "维修费用")
    private BigDecimal repairCost;

    /** 是否已付费（0未付费 1已付费） */
    @Excel(name = "是否已付费", readConverterExp = "0=未付费,1=已付费")
    private String isPaid;

    /** 满意度（0非常满意 1满意 2一般 3不满意 4非常不满意） */
    @Excel(name = "满意度", readConverterExp = "0=非常满意,1=满意,2=一般,3=不满意,4=非常不满意")
    private String satisfaction;

    /** 评价内容 */
    @Excel(name = "评价内容")
    private String evaluation;

    /** 评价时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "评价时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date evaluationTime;

    /** 状态（0正常 1停用） */
    private String status;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    public void setRepairId(Long repairId) 
    {
        this.repairId = repairId;
    }

    public Long getRepairId() 
    {
        return repairId;
    }
    
    public void setRepairCode(String repairCode) 
    {
        this.repairCode = repairCode;
    }

    public String getRepairCode() 
    {
        return repairCode;
    }
    
    public void setResidentId(Long residentId) 
    {
        this.residentId = residentId;
    }

    public Long getResidentId() 
    {
        return residentId;
    }
    
    public void setResidentName(String residentName) 
    {
        this.residentName = residentName;
    }

    public String getResidentName() 
    {
        return residentName;
    }
    
    public void setHouseId(Long houseId) 
    {
        this.houseId = houseId;
    }

    public Long getHouseId() 
    {
        return houseId;
    }
    
    public void setHouseCode(String houseCode) 
    {
        this.houseCode = houseCode;
    }

    public String getHouseCode() 
    {
        return houseCode;
    }
    
    public void setPublicArea(String publicArea) 
    {
        this.publicArea = publicArea;
    }

    public String getPublicArea() 
    {
        return publicArea;
    }
    
    public void setDetailAddress(String detailAddress) 
    {
        this.detailAddress = detailAddress;
    }

    public String getDetailAddress() 
    {
        return detailAddress;
    }
    
    public void setRepairType(String repairType) 
    {
        this.repairType = repairType;
    }

    public String getRepairType() 
    {
        return repairType;
    }
    
    public void setRepairTypeName(String repairTypeName) 
    {
        this.repairTypeName = repairTypeName;
    }

    public String getRepairTypeName() 
    {
        return repairTypeName;
    }
    
    public void setRepairTitle(String repairTitle) 
    {
        this.repairTitle = repairTitle;
    }

    public String getRepairTitle() 
    {
        return repairTitle;
    }
    
    public void setRepairContent(String repairContent) 
    {
        this.repairContent = repairContent;
    }

    public String getRepairContent() 
    {
        return repairContent;
    }
    
    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }
    
    public void setRepairImages(String repairImages) 
    {
        this.repairImages = repairImages;
    }

    public String getRepairImages() 
    {
        return repairImages;
    }
    
    public void setRepairTime(Date repairTime) 
    {
        this.repairTime = repairTime;
    }

    public Date getRepairTime() 
    {
        return repairTime;
    }
    
    public void setRepairStatus(String repairStatus) 
    {
        this.repairStatus = repairStatus;
    }

    public String getRepairStatus() 
    {
        return repairStatus;
    }
    
    public void setRepairStatusName(String repairStatusName) 
    {
        this.repairStatusName = repairStatusName;
    }

    public String getRepairStatusName() 
    {
        return repairStatusName;
    }
    
    public void setRepairLevel(String repairLevel) 
    {
        this.repairLevel = repairLevel;
    }

    public String getRepairLevel() 
    {
        return repairLevel;
    }
    
    public void setExpectedTime(Date expectedTime) 
    {
        this.expectedTime = expectedTime;
    }

    public Date getExpectedTime() 
    {
        return expectedTime;
    }
    
    public void setHandlerId(Long handlerId) 
    {
        this.handlerId = handlerId;
    }

    public Long getHandlerId() 
    {
        return handlerId;
    }
    
    public void setHandlerName(String handlerName) 
    {
        this.handlerName = handlerName;
    }

    public String getHandlerName() 
    {
        return handlerName;
    }
    
    public void setHandleTime(Date handleTime) 
    {
        this.handleTime = handleTime;
    }

    public Date getHandleTime() 
    {
        return handleTime;
    }
    
    public void setRepairResult(String repairResult) 
    {
        this.repairResult = repairResult;
    }

    public String getRepairResult() 
    {
        return repairResult;
    }
    
    public void setRepairCost(BigDecimal repairCost) 
    {
        this.repairCost = repairCost;
    }

    public BigDecimal getRepairCost() 
    {
        return repairCost;
    }
    
    public void setIsPaid(String isPaid) 
    {
        this.isPaid = isPaid;
    }

    public String getIsPaid() 
    {
        return isPaid;
    }
    
    public void setSatisfaction(String satisfaction) 
    {
        this.satisfaction = satisfaction;
    }

    public String getSatisfaction() 
    {
        return satisfaction;
    }
    
    public void setEvaluation(String evaluation) 
    {
        this.evaluation = evaluation;
    }

    public String getEvaluation() 
    {
        return evaluation;
    }
    
    public void setEvaluationTime(Date evaluationTime) 
    {
        this.evaluationTime = evaluationTime;
    }

    public Date getEvaluationTime() 
    {
        return evaluationTime;
    }
    
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("repairId", getRepairId())
            .append("repairCode", getRepairCode())
            .append("residentId", getResidentId())
            .append("residentName", getResidentName())
            .append("houseId", getHouseId())
            .append("houseCode", getHouseCode())
            .append("publicArea", getPublicArea())
            .append("detailAddress", getDetailAddress())
            .append("repairType", getRepairType())
            .append("repairTypeName", getRepairTypeName())
            .append("repairTitle", getRepairTitle())
            .append("repairContent", getRepairContent())
            .append("contactPhone", getContactPhone())
            .append("repairImages", getRepairImages())
            .append("repairTime", getRepairTime())
            .append("repairStatus", getRepairStatus())
            .append("repairStatusName", getRepairStatusName())
            .append("repairLevel", getRepairLevel())
            .append("expectedTime", getExpectedTime())
            .append("handlerId", getHandlerId())
            .append("handlerName", getHandlerName())
            .append("handleTime", getHandleTime())
            .append("repairResult", getRepairResult())
            .append("repairCost", getRepairCost())
            .append("isPaid", getIsPaid())
            .append("satisfaction", getSatisfaction())
            .append("evaluation", getEvaluation())
            .append("evaluationTime", getEvaluationTime())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
} 